home *** CD-ROM | disk | FTP | other *** search
/ Turnbull China Bikeride / Turnbull China Bikeride - Disc 2.iso / BARNET / COMPILER / SATHER / !Sather / Library / Base / config / aval < prev    next >
Encoding:
Text File  |  1996-06-01  |  1.9 KB  |  65 lines

  1. #ifndef AVAL_CONFIG
  2. #define AVAL_CONFIG
  3.  
  4. -- THIS FILE IS WRONG FOR pSather and VALUE TYPES!
  5.  
  6. #ifdef PP
  7. #undef PP
  8. #endif
  9.  
  10. #define PP    no_pre,no_post
  11.  
  12. AVAL_ASIZE:            PP,reads "@0::asize",
  13.                 var "@r $$;",exec "$$=VASIZE(@0);" "$$";
  14. AVAL_AGET:             PP,reads "@0::[]" "@0::asize",
  15.                 var "@r $$;",
  16.                 exec "$$=@(r)VARR(@0,$0,$1);" "$$";
  17. AVAL_ASET:            PP,writes "@0::[]",reads "@0::asize",
  18.                 var "@r $$;",
  19.                 exec "$$=$0;VSARR(@0,$$,$1,@(2)$2);" "$$";
  20. AVAL_ACOPY:            PP,reads "@0::[]" "@0::asize",writes "@0::[]" "@0::asize",
  21.                 var "@r $$;",
  22.                 exec "$$=$0;AVALACOPY(@0,$$,$1);" "$$";
  23. AVAL_ACOPY_BEG:            PP,reads "@0::[]" "@0::asize",writes "@0::[]" "@0::asize",
  24.                 var "@r $$;",
  25.                 exec "$$=$0;AVALACOPYB(@0,$$,$1,$2);" "$$";
  26. AVAL_ACOPY_BEG_NUM:        PP,reads "@0::[]" "@0::asize",writes "@0::[]" "@0::asize",
  27.                 var "@r $$;",
  28.                 exec "$$=$0;AVALACOPYBN(@0,$$,$1,$2,$3);" "$$";
  29. AVAL_ACOPY_BEG_NUM_SRCBEG:    PP,reads "@0::[]" "@0::asize",writes "@0::[]" "@0::asize",
  30.                 var "@r $$;",
  31.                 exec "$$=$0;AVALACOPYBNS(@0,$$,$1,$2,$3,$4);" "$$";
  32.  
  33. AVAL_AELTB:            reads "@0::[]" "@0::asize",
  34.                 var "INT $$br;",
  35.                 init "$$br=VASIZE(@0);",
  36.                 break "$$br",
  37.                 temp "@r a$$;",
  38.                 iter "a$$=VARR(@0,$0,$#);" "a$$";
  39. AVAL_AELT_BEGB:            reads "@0::[]" "@0::asize",
  40.                 var  "INT $$c,$$s;",
  41.                 temp "@r a$$;",
  42.                 init "$$c=$1-1;$$s=VASIZE(@0);",
  43.                 iter "if(++$$c>=$$s) @@;"
  44.                      "a$$=VARR(@0,$0,$$c);" "a$$";
  45. AVAL_AELT_BEG_NUMB:        reads "@0::[]" "@0::asize",
  46.                 var  "INT $$c,$$m;",
  47.                 temp "@r a$$;",
  48.                 init "$$c=$1-1;$$m=$1+$2;",
  49.                 iter "if(++$$c>=$$m) @@;"
  50.                      "a$$=VARR(@0,$0,$$c);" "a$$";
  51. AVAL_AELT_BEG_NUM_STEPB:    reads "@0::[]" "@0::asize",
  52.                 var  "INT $$c,$$m;",
  53.                 temp "@r a$$;",
  54.                 init "$$c=$1;$$m=$1+$2*$3;",
  55.                 iter "if($3>=0&&$$c>=$$m||$3<0&&$$c<=$$m) @@;"
  56.                      "a$$=VARR(@0,$0,$$c);" "$$c+=$3;" "a$$";
  57. AVAL_AINDB:            reads "@0::asize",
  58.                 var "INT $$br;",
  59.                 init "$$br=VASIZE(@0);",
  60.                 break "$$br",
  61.                 temp "@r r$$;",
  62.                 iter "r$$=$#;" "r$$";
  63.  
  64. #endif
  65.